package com.morty.config.annotation;

import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;

@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface Rlock {

    /**
     * 分布式锁的key
     */
    String localKey() default "redisLockAnnotation::";

    /**
     * 等待时间 默认五秒
     *
     * @return
     */
    long waitTime() default 5;

    /**
     * 锁释放时间 默认十秒
     *
     * @return
     */
    long leaseTime() default 10;

    /**
     * 时间格式 默认：秒
     *
     * @return
     */
    TimeUnit timeUnit() default TimeUnit.SECONDS;
}
